New function treesit-parser-changed-ranges
authorYuan Fu <casouri@gmail.com>
Wed, 17 Apr 2024 06:46:39 +0000 (23:46 -0700)
committerYuan Fu <casouri@gmail.com>
Sat, 20 Apr 2024 02:04:44 +0000 (19:04 -0700)
commit996b9576713f9d63ea7ff7e9630a15cb0a0214eb
tree9e64d1677b26df5b52ee0baeb8d23fae643dfb19
parent8166d9d1747648d1f457195090ad36dd333bbc52
New function treesit-parser-changed-ranges

- Add a new field last_changed_ranges to tree-sitter parser object.
- Add a new function treesit-parser-changed-ranges

* doc/lispref/parsing.texi (Using Parser): Add the function in
tree-sitter manual.
* src/treesit.c (treesit_get_changed_ranges): New function, refactored
out of treesit_call_after_change_functions.
(treesit_call_after_change_functions): Pull out
treesit_get_changed_ranges.
(treesit_ensure_parsed): Save the changed ranges to the parser object.
(make_treesit_parser): Initialize the new parser field
last_changed_ranges.
(Ftreesit_parser_changed_ranges): New function.
(Qtreesit_unparsed_edits): New error.
* src/treesit.h (Lisp_TS_Parser): New field.
doc/lispref/parsing.texi
etc/NEWS
src/treesit.c
src/treesit.h